package com.back.datatype;

/**
 * 学习类型
 *
 * @author kangjx
 * @version 1.0
 * @date 2023/7/12 下午5:10
 */
public class Type01 {

    /**
     * 用来表示当前java里面的一个主要的方法 ，要其它方法 的主要运行方法
     */
    public static void main(String[] args) {
        //写代码  a -- 97 A - 65
        //一个字母 数字 1B （1个字节） 位
        //二进制
//         128   64  32   16  8   4   2   1
//        [0]   [1] [1]  [0] [0] [0] [0] [1]
        /**
         * 类型
         *   基本类型
         *      数值
         *          正数
         *               byte  一个字节 八位 -128 ----  127
         *               short 二个字节 16位 -2^15 --- 2^15 -1
         *               int   四个字节 32位 -2^31 -- 2^31-1  默认
         *               long  八个字节 64位 -2^63 -- 2^63-1  添加大写L表示常整形
         *          浮点
         *              float  四个字节 32位     添加 F f 表示单精度
         *              double 八个字节 64位     默认
         *      字符
         *              char ''表示 一个数字，一个字母、一个特殊符号
         *      布尔
         *              boolean
         *   引用类型  任何一个java类全叫引用类型
         *   数组  []  任何一个基本类型或者引用类型的组合
         *
         *   类型转换
         *   1 : 变量定义
         *   1.1 格式
         *   标识符 : 由 数字 字线 下划线 美元符,数字不能首字母 见名之义 小驼峰
         *     [数据类型] [标识符] [=] [値];
         *
         *     二次赋値
         *     [标识符] [=] [値];
         *
         *     = 赋値运算符
         *     左  =   右  (类型一致) 不用转换
         *     int a = 1L;   右大左小  类型转换 (强制类型转换)(窄转)
         *     long a = 23;  左大右小  宽转  (自动完成转换dd)
         *
         *     运算符
         *     算术 ： + - * / （....） % 求余 ++ --
         *     关系 : > < <= >= == !=
         *     逻辑 ： && 所有条件同为真 || 有一个真就可以  ^ 不相同为真  !非
         *     扩展 : += -= *= /= &= |= ^= %=  (不会产生类型转换)
         *     字符 ： 连接 +
         */
        char c = 'a';

        //GBK gb2312 一个汉字2个字节
        //utf-8 一个汉字占三个字节
        //utf8mb4 一个汉字最多可以占四个字节  (mysql)
        char c1 = '中';

        //1 : 8 种 定义问题

        int a = 9;

        int b = a++ + ++a;
        int d = (a += 2);
        System.out.println(b);
        System.out.println(a);
        System.out.println(d);

    }

}
